//package pers.bc.utils.test;
//
//import java.io.File;
//import java.util.LinkedHashMap;
//import java.util.Map;
//
//import pers.bc.utils.net.HttpClientUtilbc;
//import pers.bc.utils.pub.JsonUtil;
//import pers.bc.utils.pub.LoggerUtil;
//import pers.bc.utils.pub.PropertiesUtil;
//
///**
// *
// **
// * <p>
// * Title:
// * </p>
// * <p>
// * Description:
// * </p>
// * <p>
// * Copyright: Copyright (c) 2024
// * </p>
// * <p>
// * Company: 用友软件
// * </p>
// * @qualiFild nc.dingding.WorkTask.DingdinWorkApi.java<br>
// * @author：LiBencheng<br>
// * @date Created on 2024年5月12日<br>
// * @version 1.0<br>
// */
//public class DingdinWorkApi
//{
//    private static ThreadLocal<DingdinWorkApi> apiUtil = new ThreadLocal<DingdinWorkApi>();
//    private static LoggerUtil logUtil = LoggerUtil.getInstance("dindinSynLogs" + File.separator + "apilogs");
//    final static String propPath = "C:\\Users\\licheng\\Desktop\\temp\\dindinConfig.properties";
//
//    public static void main(String[] args) throws Exception
//    {
//        Map<String, Object> token = getAccessToken();
//        System.err.println(token);
//        // qyapi_manage_addresslist
//        String url = "https://oapi.dingtalk.com/topapi/v2/department/listsubid?access_token=" + token.get("accessToken");
//        LinkedHashMap<String, String> map = new LinkedHashMap<String, String>()
//        {
//            /** @date 2024-5-12 */
//            private static final long serialVersionUID = -7585219157765846056L;
//            {
//                put("dept_id", "1");
//            }
//        };
//        System.err.println(exeRequest(url, map));
//    }
//
//    private static Map<String, Object> authority() throws Exception
//    {
//        {
//            String url = "https://open.dingtalk.com/document/orgapp-server/add-api-permission";
//            return null;
//        }
//    }
//
//    private static Map<String, Object> getAccessToken() throws Exception
//    {
//        {
//            String url = "https://api.dingtalk.com/v1.0/oauth2/accessToken";
//
//            return exeRequest(url, new LinkedHashMap<String, String>()
//            {
//                /** @date 2024年5月12日 */
//                private static final long serialVersionUID = 1L;
//                {
//                    put("appKey", PropertiesUtil.getValueByKey(propPath, "Client_ID"));
//                    put("appSecret", PropertiesUtil.getValueByKey(propPath, "App_Secret"));
//                    put("Client_ID", PropertiesUtil.getValueByKey(propPath, "Client_ID"));
//                    put("App_Secret", PropertiesUtil.getValueByKey(propPath, "App_Secret"));
//                    put("AgentId", PropertiesUtil.getValueByKey(propPath, "AgentId"));
//                    put("App_ID", PropertiesUtil.getValueByKey(propPath, "App_ID"));
//                }
//            });
//        }
//    }
//
//    private static Map<String, Object> exeRequest(String url, Map<?, ?> map) throws Exception
//    {
//        {
//            logUtil.info("访问钉钉的信息：", "URL：" + url + "，请求参数：" + map);
//            String jsonPost = HttpClientUtilbc.sendJsonPost(url, JsonUtil.transObj2Josn(map));
//            return JsonUtil.toMap(jsonPost);
//        }
//    }
//
//    public static DingdinWorkApi getInstance()
//    {
//        DingdinWorkApi df = apiUtil.get();
//        if (null == df)
//        {
//            synchronized (JsonUtil.class)
//            {
//                if (null == df)
//                {
//                    df = new DingdinWorkApi();
//                    apiUtil.set(df);
//                }
//            }
//        }
//
//        return df;
//    }
//
//}
